Word processing programs help users create error free documents by providing editing and proofing tools to detect and correct errors. For example, word processing programs typically include a spell checker to detect and correct spelling errors. Prior art spell checkers include post-processing spell checkers, background spell checkers and automatic spell checkers.
A post-processing spell checker is manually invoked by a user after all or part of a document is typed. A post-processing spell checker uses a spelling dictionary containing a number of correctly spelled words. To detect a spelling error, each word in the document is compared with the correctly spelled words in the spelling dictionary. If a word in the document does not match any of the correctly spelled words in the spelling dictionary, then it is identified as a misspelled word. Generally, once the spell checker detects a misspelled word, it provides the user with a list of correctly spelled alternate words. The user may correct the misspelled word by selecting one of the correctly spelled alternate words to replace the misspelled word. The misspelled word may be displayed to the user along with a list of correctly spelled alternate words from the spelling dictionary via a spelling correction user interface, such as a dialogue box. The spelling correction user interface may include a number of options, such as "replace," "replace all," "ignore," "ignore all," "delete," and "add to spelling dictionary." If the user selects one of the correctly spelled alternate words and the "replace" or "replace all" option, then the post-processing spell checker corrects the misspelled word by replacing it with the correctly spelled alternate word.
A background spell checker, such as the "SPELL-IT" spell checker program module included in the "WORD FOR WINDOWS 95" word processing program marketed by Microsoft Corporation of Redmond, Washington, automatically detects a misspelled word. The misspelled word is detected as soon as the user enters the misspelled word, but the misspelled word is not automatically corrected. To correct the misspelled word, the user must manually correct the misspelled word or invoke a post-processing spell checker.
An automatic spell checker, such as the "AUTOCORRECT" program module ("AutoCorrect") included in the "WORD 6" word processing program marketed by Microsoft Corporation of Redmond, Washington, automatically detects and corrects a misspelled word. AutoCorrect uses a list containing corrected word pairs (the "AutoCorrect List"). A corrected word pair includes a commonly misspelled word and a corresponding correctly spelled word. AutoCorrect compares each word in the document with the misspelled words in the AutoCorrect List as the word is entered by the user. If a word in the document matches a misspelled word in the AutoCorrect List, then the word is replaced with the corresponding correctly spelled word from the corrected word pair without any user interaction.
A disadvantage of an automatic spell checker such as AutoCorrect is that it only corrects misspelled words contained in the AutoCorrect List. If a misspelled word is not in the AutoCorrect List, then the user must manually correct the misspelled word or must manually invoke a post-processing spell checker to correct the misspelled word. The corrected word pairs contained in the AutoCorrect List are predetermined and are generally static. The number of corrected word pairs contained in the AutoCorrect List is limited because the AutoCorrect List remains resident in the computer's memory. Limiting the size of the list limits the amount of memory consumed but also limits the number of misspelled words which can be corrected.
If an automatic spell checker could more closely imitate the interaction between the user and a post-processing spell checker, the number of misspelled words automatically corrected could be increased dramatically. However, a spelling dictionary does not generally contain the one to one relationship between a misspelled word and a correctly spelled word required by current automatic spell checkers. An improved automatic spell checker is needed to automatically detect a misspelled word and to automatically replace the misspelled word with a correctly spelled word selected from a list of correctly spelled words.
A user may repeatedly misspell a particular word. The misspelling may be due to a typographical error or a cognitive spelling error. If an automatic spell checker detects the misspelled word and identifies a correctly spelled word selected from a list of correctly spelled words, then the misspelled word and the correctly spelled word may define a corrected word pair. If the misspelled word and the correctly spelled word could be automatically added to the AutoCorrect List, then subsequent occurrences of the misspelled word may be corrected by AutoCorrect. An improved automatic spell checker is needed to automatically add the misspelled word and the correctly spelled word as a corrected word pair to the AutoCorrect List.
Accordingly, there is a need in the art for detecting a misspelled word and automatically correcting the misspelled word by selecting a correctly spelled word from a list of correctly spelled words. There is also a need in the art for automatically adding a misspelled word and a correctly spelled word as a corrected word pair to the AutoCorrect List.